#include<stdio.h>
#include<stdlib.h>

int *alloc(int n){
	int *p = (int *)malloc(n * sizeof(int));
	return p;
	
}

int add_element_sort(int **p, int *n, int key){
	int i = *n;
	(*n)++;
	*p = (int *)realloc(*p, *n * sizeof(int));

	for(; i >= 0; i--){
		if(*(*p+i-1) < key){
			break;
		}else{
			*(*p+i) = *(*p+i-1);
		}
	}
	*(*p+i) = key;

	return 0;
}

int find_elem(const int *p, int n, int key){
	int i;
	for(i = n-1; i >= 0; i--){
		if(*(p+i) == key ){
			break;
		}
	}
	return i;
}

void show_element(const int *p, int n){
	for(int i = 0; i < n; i++){
		printf("%d ", *(p+i));
	}
	printf("\n");
	return;
}


int del_element(int **p, int *n, int key){
	int index = find_elem(*p, *n, key);
	if(index == -1) return -1;
	for(int i = index; i < *n - 1; i++){
		*(*p+i) = *(*p + i + 1);
	}
	(*n)--;
	*p =(int *) realloc(*p, *n * sizeof(int));
	return 0;
}

int update_date(int *p, int n, int newdata, int key){
	int index = find_elem(p, n, key);
	if(index != -1)
		*(p + index) = newdata;
	return 0;
}

